From 96324342438a5ce16ab9fbec6d8c17756ef166ff Mon Sep 17 00:00:00 2001 From: Liam Date: Sat, 8 Oct 2022 18:27:40 -0400 Subject: core_timing: use high-precision sleeps on non-Windows targets --- src/core/core_timing.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index 6c0fcb7b5..2678ce532 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp @@ -270,6 +270,7 @@ void CoreTiming::ThreadLoop() { // There are more events left in the queue, wait until the next event. const auto wait_time = *next_time - GetGlobalTimeNs().count(); if (wait_time > 0) { +#ifdef _WIN32 // Assume a timer resolution of 1ms. static constexpr s64 TimerResolutionNS = 1000000; @@ -287,6 +288,9 @@ void CoreTiming::ThreadLoop() { if (event.IsSet()) { event.Reset(); } +#else + event.WaitFor(std::chrono::nanoseconds(wait_time)); +#endif } } else { // Queue is empty, wait until another event is scheduled and signals us to continue. -- cgit v1.2.3